package games.patience.core;

import commomgame.Card;
import commongame.core.RegionOfReserves;
import games.freecell.core.RulesOfReserves;
import java.util.List;

/**
 * @author João
 * @author ian
 */
public class RegionOfReservesPatience extends RegionOfReserves {

    public RegionOfReservesPatience(int numberOfSubRegions) {
        super(numberOfSubRegions);
        super.rulesOfMovement = new RulesOfReserves();
        super.setNameOfSubRegions();
    }

    /**
     * Método invocado quando usuário movimenta carta tendo a região de reservas como destino
     *
     * @param value Representa o valor da carta escolhida pelo usuário para movimentação
     * @param nipe Representa o nipe da carta escolhida pelo usuário para movimentação
     * @param subRegionOrigin Representa a região de origem da carta
     * @param subRegionTarget Representa a região de destino da carta: região de reservas
     * @return permissão de movimentação da carta
     */
    //public boolean verifyRule(int value, String nipe, SubRegion subRegionOrigin, SubRegion subRegionTarget) {
      //  return rulesOfMovement.verifyMovement(value, nipe, subRegionOrigin, subRegionTarget);
        //if (rulesOfMovement.verifyMovement(value, nipe, subRegionOrigin, subRegionTarget)) {
       //     subRegionTarget.addCardInSubRegion(subRegionOrigin.selectCard(value, nipe));
        //    subRegionOrigin.removeCard(subRegionOrigin.selectCard(value, nipe));
        //    return true;
        //} else {
        //    return false;
       // }
    //}

    public void sendCardsToRegion2(int numberOfCards, List<Card> partOfDeck) {
        int ponteiro = 0;
        int delimitador = 1;

        for (int i = 0; i < getNumberOfSubRegions(); i++) {
            for (int j = 0; j < delimitador; j++) {

                if (j == delimitador - 1) {
                    partOfDeck.get(ponteiro).setIsShowed(true);
                }

                this.getRegion().get(i).addCardInSubRegion(partOfDeck.get(ponteiro));
                ponteiro++;
            }

            delimitador++;
        }
    }
}
